'use strict'

console.log(typeof 123);

function* fib(max){
    var 
      t,
     a=0,
     b=1,
     n=0;
     while (n < max){
         yield a;
         [a,b]=[b,a+b];//var t=b+a,a=b,b=t;它的运算顺序是从右到左的，
         //先计算b和a+b，然后将b的值赋予a，再将a+b的值赋予b，以此来达到预期的计算结果
         n ++;
     }
     return;
}

for (var x of fib(10)){
    console.log(x);
}










// function fib(max) {
//     var
//         t,
//         a = 0,
//         b = 1,
//         arr = [0, 1];
//     while (arr.length < max) {
//         [a, b] = [b, a + b];
//         arr.push(b);
//     }
//     return arr;
// }
// console.log(fib(5));
     



// function* fib(max){
//     var 
//     t,
//     a=0,
//     b=1,
//     n=0;
//     while(n < max){
//         yield a;
//         [a,b]=[b,a+b];
//         n ++;
//     }

//     return;
// }
  
//   var f=fib(10);
//   console.log(f.next());
//   console.log(f.next());
//   console.log(f.next());
//   console.log(f.next());
//   console.log(f.next());
//   console.log(f.next());

  
 
 